A typical fault-tolerant time-triggered network consists of typically one, two or more redundant channels, to which communications nodes are usually connected. Each of those nodes consists of or contains a communication controller, bus drivers, eventually a bus guardian device for each bus driver and an application host.
The bus driver transmits the bits and bytes that the communication controller provides onto its connected channel and in turn provides the communication controller with the information it receives on the channel. The communication controller is connected to both channels, delivers relevant data to the host application, and receives data from it that it in turn assembles to frames and delivers to the bus driver.
Those systems are at least partially time-triggered, that means that the time is sliced into recurring cycles, where each cycle consists of several time segments. Each node determines the start of a new cycle according to its own built-in clock. At least one segment is divided into a fixed number of time slots, where each time slot is assigned up to at most one communication controller, wherein that communication controller and alone that communication controller has the right to transmit. Other segments of the cycle can be used e.g. for dynamic arbitration schemes or other purposes.
The bus guardian is a device with an independent set of configuration data that enables the transmission on the bus only during those slots, which are specified by the configuration set.
The host application contains the data source and sink and is generally not concerned with the protocol activity. At least decisions that the communication controller cannot do alone are made by the host application.
The different nodes have to be synchronised to each other, since each node derives on its own the start of the cycle and thereby the placement of all time segments and time slots in time. To not be dependent on a single master clock whose failure would collapse the whole system, each node has an own clock. The difference between the own clock and the clocks of some subset of nodes of the system, which are called synchronisation-nodes, is used to correct its own clock in a fault-tolerant way.
Systems that match this correction are the TTP protocol or the FlexRay protocol. Each node of such a system behaves therefore relatively erratically with respect to its cycle length and the cycle start, since both figures are completely determined by the network traffic of the cluster. The distributed clock synchronisation algorithm makes sure that all nodes of the cluster stay synchronised within a calculable precision, but each single node may be subject to sizeable time shifts.
This becomes problematic, if another cluster or another mechanism shall be synchronised to that cluster. Such a second cluster may find it problematic to follow the jumps and shifts of a single node of the primary cluster. However, to stay in synchronisation with the primary cluster it seems necessary to do so. The FlexRay protocol specification describes this currently as the TT-D mode. It is currently in the process of defining a new operation mode called the TT-M mode. In this TT-M mode the clock synchronisation will not be distributed, but centrally controlled by a master node and eventually a backup node.
Having different modes it is difficult to perform the synchronisation of a TT-M cluster to a TT-D cluster. The TT-M cluster contains one master node and eventually a backup master that determines the timing of the TT-M cluster. However, the single means for communicating said timing is by transmission of frames which must be received by the slave nodes. For an immediate synchronisation to a node of the TT-D cluster, the TT-M master would need to send its synchronisation frame shifted by the amount of shift of the TT-D master node and the TT-M slaves would also need to be able to receive those. For large shifts this becomes problematic as the shifted frames might either collide with frames sent by the slaves according to the old timing or large guard intervals between frame transmissions would have to be defined, which are naturally detrimental to the useable bandwidth.
Also the alignment of two TT-D or TTP clusters is rather difficult. Generally one or several gateway nodes are responsible for that task. They have access to one node in each cluster, which are subject to said shifts. From that information only they have to cause the other cluster to perform rather large shifts following the movements of the node. In the general case, this causes an adverse oscillating behaviour.
This invention introduces a mechanism to smooth that effect and effectively reduce the amount of necessary correction.